import os

class Config:
    #设置数据库参数
    MYSQL_DIALECT='mysql'
    MYSQL_DRIVER ='pymysql'
    MYSQL_USERNAME='root'
    MYSQL_PASSWORD='root'
    MYSQL_HOST='localhost'
    MYSQL_PORT = 3306
    MYSQL_DB='flask_shop'
    MYSQL_CHARSET='utf8mb4'

    #链接数据库字符串URI
    SQLALCHEMY_DATABASE_URI=f'{MYSQL_DIALECT}+{MYSQL_DRIVER}://{MYSQL_USERNAME}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}?{MYSQL_CHARSET}'

    #数据盐
    SECRET_KEY = 'sjfaslfsljfshkl'
    #DEBUG模式
    DEBUG=True
    #设置token过期时间,单位为秒
    JWT_EXPIRATION_DELTA = 60*60*24 #一天

    #数据库连接中断
    SQLALCHEMY_ENGINE_OPTIONS ={
        'pool_recycle': 280,  # 回收连接（单位秒）
        'pool_pre_ping': True  # 每次查询前检测连接是否可用
    }

    #设置可以上传的图片类型
    ALLOWED_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif']
    #获取当前项目的根路径
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    #设置图片上传路径
    UPLOAD_DIR = os.path.join(BASE_DIR,'flask_shop','static/uploads')


class DevelopConfig(Config):
    pass

class TestConfig(Config):
    pass

config_map = {
    'develop':DevelopConfig,
    'test':TestConfig,
}